1. Field of the Invention
The present invention relates to storage system management and more specifically relates to systems and methods for management of copies of a logically mapped storage volume.
2. Discussion of Related Art
The requirements for storage system capacity and performance continue to grow as new applications evolve utilizing mass storage systems coupled to computing networks. Some storage systems provide their full physical storage capacity as the aggregate physical capacity of a plurality of storage devices (e.g., disk drives) embodied within the storage system. Other storage systems are referred to as mapped storage systems in that the logical addresses utilized by computer systems coupled to the storage systems need not correspond to the specific physical storage locations. Rather, such a mapped storage system provides one or more mapped storage volumes where each mapped volume is defined by a mapping table that translates or maps computer system provided logical addresses into corresponding physical locations. One exemplary embodiment of such mapped storage systems is referred to as a “thin provisioned” storage system. A thin provisioned storage system is one that provides a larger logical/virtual capacity for storage volumes than may be presently physically available in the mapped volume. As computer system applications store new data, additional physical storage may be added or configured into the mapped volume so as to permit physical capacity to grow as the larger logical storage capacity is utilized.
It is generally known that some applications require creation of a “snapshot” or “point in time” copy to be generated of an existing storage volume. The snapshot or point in time copy may be used by an application program concurrently with the original storage volume from which it was copied. In one embodiment of a mapped storage system, a copy of a mapped storage volume is generated, in general, by simply creating a new copy of the mapping table structures that define the mapped storage volume. Such copies of such a mapped storage volume may be used, for example, in database applications where an update or upgrade to a database system may be tested using a temporary copy of the mapped storage volume where the database is stored. Or, for example, backup utilities may generate a snapshot copy of a storage volume for purposes of performing the desired backup while other applications continue to access the original copy of the storage volume.
Since the copies of a mapped storage volume are generally created by copying the mapping table of the original volume (or any other copy), a mechanism must be provided to coordinate write request operations so that each copy retains access to appropriate physical storage content despite ongoing write operations that may change the content of a logical storage location in another specific copy. For example, where a snapshot or point in time copy of a storage volume is created to test a database application, the database test procedures may overwrite logical blocks while the original copy remains unchanged by these test procedures for continuing operation of the production database applications.
Prior mapped storage management techniques utilize reference counters—e.g., meta-data counters associated with each physical block of the storage system indicating the present number of storage volumes that reference the corresponding physical block. Thus when a mapped storage volume is initially created the reference count of each physical block of the storage volume may be initialized to one. As a new copy is generated, the reference count of each physical block is incremented to an updated count of two. When either copy of the mapped storage volume receives a write request to modify a logical block mapped to a corresponding physical block, the reference count meta-data is inspected to determine if other copies of the mapped storage volume may require ongoing access to the physical block. If so, the mapped storage volume management structures may allocate a new physical block for the copy of the mapped storage volume desiring to modify the physical storage. The reference count for the original physical block is decremented to indicate one less copy accessing the corresponding physical block.
A problem arises in such known mapped storage management techniques in that the processing to generate a new copy of a volume may be time consuming. To create a new copy of the mapped storage volume using reference count meta-data associated with each physical block, the reference count for each block must be located and incremented to indicate creation of a new copy. In addition, such reference count meta-data indicates only the number of copies that may require access to the corresponding physical block and does not provide information regarding which of the potentially multiple copies may require such access. It is evident from the above discussion that an ongoing needed just to improve the